using UnityEngine;

namespace Assets.Scripts.SO
{
    [CreateAssetMenu(fileName = "ScriptableChild", menuName = "ScriptableObjects/ScriptableChild", order = 1)]
    internal class ScriptableChild : ScriptableObject
    {
        [field: SerializeField] public Sprite Sprite { get; private set; }
        [field: SerializeField] public Vector3 CustomSize { get; private set; }
        [field: SerializeField] [field: TextArea] public string HappyDescription { get; private set; }
        [field: SerializeField] [field: TextArea] public string UnhappyDescription { get; private set; }
        [field: SerializeField] public float TimeToGetTips { get; private set; }
        [field: SerializeField] public float Weight { get; private set; }
        [field: SerializeField] public float ThrowForce { get; private set; }
        [field: SerializeField] public string AdditionalEffect { get; private set; }

        [field: Header("Hapiness")]
        [field: SerializeField] public float HappinessOnChildCollision { get; private set; }
        [field: SerializeField] public float HappinessOnRotation { get; private set; }
        [field: SerializeField] public float HappinessOnHeight { get; private set; }
        [field: SerializeField] public float HappinessOnJump { get; private set; }
        [field: SerializeField] public float HappinessOnGroundCollision { get; private set; }

        [field: Header("Unlocks")]
        [field: SerializeField] public int UnlockDay { get; private set; }
    }
}
